package com.mydomain.Bodega;
// Generated 09-oct-2009 21:00:47 by Hibernate Tools 3.2.2.GA

import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

/**
 * InvEgresoItem generated by hbm2java
 */
@Entity
@Table(name = "inv_egreso_item", schema = "public")
public class InvEgresoItem implements java.io.Serializable {

	private long egrCodigoItem;
	private InvEgreso invEgreso;
	private InvItemStock invItemStock;
	private String gruCodigo;
	private Long undCodigo;
	private BigDecimal egiCantidad;
	private BigDecimal egiPrecioU;
	private String egiNombre;
	private BigDecimal egiPrecioT;
	private BigDecimal egiCantMax;
	private BigDecimal egiIva;
	private BigDecimal egiDescuento;
	private Integer subdepCodigo;
	private Integer depCodigo;
	private BigDecimal egiCostoT;
	private transient Departamento departamento;
	private transient String auxInvItem;
	private  transient InvGrupo grupo;
	private transient  Boolean seleccionarManual=false;
	private transient Integer cantidadSotck;
	private transient String verificarStock; 
	
	
	@Transient
	public String getVerificarStock() {
		return verificarStock;
	}


	public void setVerificarStock(String verificarStock) {
		this.verificarStock = verificarStock;
	}


	@Transient
	public Integer getCantidadSotck() {
		return cantidadSotck;
	}


	public void setCantidadSotck(Integer cantidadSotck) {
		this.cantidadSotck = cantidadSotck;
	}


	@Transient
	public String getAuxInvItem() {
		return auxInvItem;
	}


	public void setAuxInvItem(String auxInvItem) {
		this.auxInvItem = auxInvItem;
	}


	@Transient
	public Departamento getDepartamento() {
		return departamento;
	}


	public void setDepartamento(Departamento departamento) {
		this.departamento = departamento;
	}

	@Transient
	public Boolean getSeleccionarManual() {
		return seleccionarManual;
	}
	
	@Transient
	public InvGrupo getGrupo(){
	return grupo;
	}
	
	public void setGrupo(InvGrupo grupo){
		this.grupo=grupo;
	}

	public void setSeleccionarManual(Boolean seleccionarManual) {
		this.seleccionarManual = seleccionarManual;
	}

	
	public InvEgresoItem() {
	}

	public InvEgresoItem( long egrCodigoItem, BigDecimal egiCantidad,
			BigDecimal egiPrecioU) {
		this.egrCodigoItem = egrCodigoItem;
		this.egiCantidad = egiCantidad;
		this.egiPrecioU = egiPrecioU;
	}
	public InvEgresoItem(long  egrCodigoItem, InvEgreso invEgreso,
			InvItemStock invItemStock, String gruCodigo, Long undCodigo,
			BigDecimal egiCantidad, BigDecimal egiPrecioU, String egiNombre,
			BigDecimal egiPrecioT, BigDecimal egiCantMax
				, BigDecimal egiIva,
			BigDecimal egiDescuento, Integer subdepCodigo, Integer depCodigo,
			BigDecimal egiCostoT) {
		this.egrCodigoItem = egrCodigoItem;
		this.invEgreso = invEgreso;
		this.invItemStock = invItemStock;
		this.gruCodigo = gruCodigo;
		this.undCodigo = undCodigo;
		this.egiCantidad = egiCantidad;
		this.egiPrecioU = egiPrecioU;
		this.egiNombre = egiNombre;
		this.egiPrecioT = egiPrecioT;
		this.egiCantMax = egiCantMax;
		this.egiIva = egiIva;
		this.egiDescuento = egiDescuento;
		this.subdepCodigo = subdepCodigo;
		this.depCodigo = depCodigo;
		this.egiCostoT = egiCostoT;
	}

	@Id
	@Column(name = "egr_codigo_item", unique = true, nullable = false, precision = 10, scale = 0)
	@NotNull
	@GeneratedValue(strategy=GenerationType.AUTO)
	public long getEgrCodigoItem() {
		return this.egrCodigoItem;
	}

	public void setEgrCodigoItem(long egrCodigoItem) {
		this.egrCodigoItem = egrCodigoItem;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "egr_codigo")
	public InvEgreso getInvEgreso() {
		return this.invEgreso;
	}

	public void setInvEgreso(InvEgreso invEgreso) {
		this.invEgreso = invEgreso;
	}
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "item_secuenca")
	public InvItemStock getInvItemStock() {
		return this.invItemStock;
	}

	public void setInvItemStock(InvItemStock invItemStock) {
		this.invItemStock = invItemStock;
	}

	@Column(name = "gru_codigo", length = 12)
	@Length(max = 12)
	public String getGruCodigo() {
		return this.gruCodigo;
	}

	public void setGruCodigo(String gruCodigo) {
		this.gruCodigo = gruCodigo;
	}

	@Column(name = "und_codigo", precision = 10, scale = 0)
	public Long getUndCodigo() {
		return this.undCodigo;
	}

	public void setUndCodigo(Long undCodigo) {
		this.undCodigo = undCodigo;
	}

	@Column(name = "egi_cantidad", nullable = false, precision = 14, scale = 4)
	@NotNull
	public BigDecimal getEgiCantidad() {
		return this.egiCantidad;
	}

	public void setEgiCantidad(BigDecimal egiCantidad) {
		this.egiCantidad = egiCantidad;
	}

	@Column(name = "egi_precio_u", nullable = false, precision = 13, scale = 4)
	@NotNull
	public BigDecimal getEgiPrecioU() {
		return this.egiPrecioU;
	}

	public void setEgiPrecioU(BigDecimal egiPrecioU) {
		this.egiPrecioU = egiPrecioU;
	}

	@Column(name = "egi_nombre", length = 50)
	@Length(max = 50)
	public String getEgiNombre() {
		return this.egiNombre;
	}

	public void setEgiNombre(String egiNombre) {
		this.egiNombre = egiNombre;
	}

	@Column(name = "egi_precio_t", precision = 13, scale = 4)
	public BigDecimal getEgiPrecioT() {
		return this.egiPrecioT;
	}

	public void setEgiPrecioT(BigDecimal egiPrecioT) {
		this.egiPrecioT = egiPrecioT;
	}

	@Column(name = "egi_cant_max", precision = 14, scale = 4)
	public BigDecimal getEgiCantMax() {
		return this.egiCantMax;
	}

	public void setEgiCantMax(BigDecimal egiCantMax) {
		this.egiCantMax = egiCantMax;
	}

	@Column(name = "egi_iva", precision = 13, scale = 4)
	public BigDecimal getEgiIva() {
		return this.egiIva;
	}

	public void setEgiIva(BigDecimal egiIva) {
		this.egiIva = egiIva;
	}

	@Column(name = "egi_descuento", precision = 13, scale = 4)
	public BigDecimal getEgiDescuento() {
		return this.egiDescuento;
	}

	public void setEgiDescuento(BigDecimal egiDescuento) {
		this.egiDescuento = egiDescuento;
	}

	@Column(name = "subdep_codigo", precision = 5, scale = 0)
	public Integer getSubdepCodigo() {
		return this.subdepCodigo;
	}

	public void setSubdepCodigo(Integer subdepCodigo) {
		this.subdepCodigo = subdepCodigo;
	}

	@Column(name = "dep_codigo", precision = 5, scale = 0)
	public Integer getDepCodigo() {
		return this.depCodigo;
	}

	public void setDepCodigo(Integer depCodigo) {
		this.depCodigo = depCodigo;
	}

	@Column(name = "egi_costo_t", precision = 13, scale = 4)
	public BigDecimal getEgiCostoT() {
		return this.egiCostoT;
	}

	public void setEgiCostoT(BigDecimal egiCostoT) {
		this.egiCostoT = egiCostoT;
	}

}
